package com.prj.ufdm.cloud.ms.auth.bpo;

import java.util.List;
import com.prj.ufdm.cloud.ms.auth.model.SysRole;
import com.prj.ufdm.cloud.ms.core.bpo.BaseBPO;

/**  
 * 系统角色接口 
 * @author 胡义振  
 * @date 2018年3月26日  
*/
public interface SysRoleBPO  extends BaseBPO<SysRole> {

	/**
	 * 根据用户ID查询用户角色
	 * @param userId 用户ID
	 * @return
	 * @throws Exception
	 * @author 胡义振  
	 * @date 2018年3月27日
	 */
	public List<SysRole> doGetSysRoleListByUserId(String userId) throws Exception;
	
	
	/**
	 * 根据用户ID删除用户角色
	 * @param id 要删除的角色ID（多个ID，逗号分隔）
	 * @return
	 * @throws Exception
	 * @author 胡义振  
	 * @date 2018年3月27日
	 */
	public Integer doRmSysRoleById(String id) throws Exception;
	
	/**
	 * 添加角色的功能
	 * @param 
	 *      roleId      角色ID
	 *      functionId  功能ID（多个用","号分隔）
	 * @return
	 * @author 胡义振  
	 * @date 2018年3月26日
	 */
	public Integer doAddRoleFunction(String roleId,String functionId) throws Exception;
	
	/**
	 * 删除角色中的用户
	 * @param 
	 *      roleId      角色ID
	 *      userIds     用户ID（多个用","号分隔）
	 * @return
	 * @author 胡义振  
	 * @date 2018年3月26日
	 */
	public Integer doRmRoleUser(String roleId,String userIds) throws Exception;

	/**
	 * 检查角色名是否存在
	 * 
	 * @param roleName
	 * @param roleId
	 * @return
	 * @throws Exception
	 */
	public boolean doCheckSysRoleNameExist(String roleName, String roleId) throws Exception;
	
}
